def count_trag(N, allowed:list):
    """ Функция определяет минимальную траекторию движения
        по одномерному массиву от точки 1 до N
        по разрешенным клеткам.
        
        allowed - Массив разрешенных и запрещенных клеток
        в формате True, False.

        Варианты движения: +1, +2, +3.

    """

    # Резервация памяти под массив N элементов
    K = [0, 1, int(allowed[2])] + [0] * (N-2)
    print(K)
    for i in range(3, N+1):
        if allowed[i]:
            # Складывание всех траекторий предыдущих клеток
            K[i] = K[i-1] + K[i-2]

    return K[N]

N = 3
allowed = [1] * 2 + [True] * (N-1)
print(count_trag(N, allowed))
